package com.battle.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.userMessage.*;
import com.battle.pojo.vo.userMessage.*;

import java.util.List;


/**
 * 【描 述】：用户消息服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface UserMessageService {

    /**
     * 创建用户消息
     *
     * @param param
     */
    void createUserMessage(CreateUserMessageParam param);

    /**
     * 批量已读消息
     *
     * @param param
     */
    void editUserMessage(EditUserMessageParam param);

    /**
     * 移除用户消息
     *
     * @param id
     */
    void removeUserMessage(Long id);

    /**
     * 启动/禁用用户消息
     *
     * @param id
     */
    void enabledUserMessage(Long id);

    /**
     * 获取用户消息详情
     *
     * @param id
     * @return
     */
    GetUserMessageVo getUserMessage(Long id);

    /**
     * 获取用户消息列表
     *
     * @param param
     * @return
     */
    PageResult<GetUserMessageListVo> getUserMessageList(GetUserMessageListParam param);


    /**
     * 获取用户消息下拉列表
     *
     * @param param
     * @return
     */
    List<GetUserMessageDownListVo> getUserMessageDownList(GetUserMessageDownListParam param);

    /**
     * 获得未提交的消息数量
     * @param id
     * @return
     */
    Integer getUserMessageCount(Long id);

}